package com.my.commons.network;

import java.io.IOException;
import java.nio.channels.SocketChannel;



public interface ConnectionFactory {
	/**
     * Create a new {@link com.my.commons.network.AConnection AConnection} instance.<br>
     *
     * @param socket     that new {@link com.my.commons.network.AConnection AConnection} instance will represent.<br>
     * @param dispatcher to wich new connection will be registered.<br>
     * @return a new instance of {@link com.my.commons.network.AConnection AConnection}<br>
     * @throws IOException
     * @see com.my.commons.network.AConnection
     * @see com.my.commons.network.Dispatcher
     */
    public AConnection create(SocketChannel socket, Dispatcher dispatcher) throws IOException;
}
